import cv2
import torch
import os
import uuid

def worker_process_image(image_path):
    #创建一个 output文件夹（如果不存在）
    output_dir = "./output"
    os.makedirs(output_dir, exist_ok=True)

    #生成一个唯一的输出文件名
    output_filename = f"process_video_{uuid.uuid4().hex}.jpg"
    output_path = os.path.join(output_dir, output_filename)

    #加载模型
    model = torch.hub.load('./yolov5', 'custom', path='./models/yolov5s.pt', source='local')

    img = cv2.imread(image_path)

    #对图片进行目标检测
    results = model(img)

    #渲染结果（在帧上绘制边界框等）
    rendered_img = results.render()[0]

    #保存处理后的图片
    cv2.imwrite(output_path,rendered_img)

    #显示处理后的图片
    cv2.imshow('YOLOv5 Detection',rendered_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows
